import fs from 'fs'
import { resolve } from 'path'
const manifestPath = resolve('./src/manifest.json')

export default function replaceManifestKey(path: string, value: string) {
  let Manifest = fs.readFileSync(manifestPath, { encoding: 'utf-8' })
  const arr = path.split('.')
  const len = arr.length
  const lastItem = arr[len - 1]

  let i = 0
  let ManifestArr = Manifest.split(/\n/)

  for (let index = 0; index < ManifestArr.length; index++) {
    const item = ManifestArr[index]
    if (new RegExp(`"${arr[i]}"`).test(item)) ++i
    if (i === len) {
      const hasComma = /,/.test(item)
      ManifestArr[index] = item.replace(new RegExp(`"${lastItem}"[\\s\\S]*:[\\s\\S]*`), `"${lastItem}": ${value}${hasComma ? ',' : ''}`)
      break
    }
  }
  Manifest = ManifestArr.join('\n')
  fs.writeFileSync(manifestPath, Manifest, {
    flag: 'w',
  })
}
